home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 31 / Amiga Format CD31 (1998-09-02)(Future Publishing)(GB)(Track 1 of 2)[!][issue 1998-10].iso / -coverdisks- / 115a / ppt / rexx / falsecolour.prx < prev    next >
Text File  |  1998-07-29  |  2KB  |  82 lines

  1. /*
  2.     This script turns the image into false colour.  The idea is that
  3.     this contrasts color differences strongly and makes it easier to
  4.     spot details.
  5.  
  6.     $Id: FalseColour.prx 1.2 1998/06/29 20:52:04 jj Exp jj $
  7. */
  8.  
  9. /*-------------------------------------------------------------------*/
  10. /*  I suggest you use this header as-is and add your own code below  */
  11.  
  12. OPTIONS RESULTS
  13. SIGNAL ON ERROR
  14. IF ADDRESS() = REXX THEN DO
  15.     startedfromcli = 1
  16.     ADDRESS PPT
  17. END
  18. ELSE DO
  19.     startedfromcli = 0
  20.     ADDRESS PPT
  21. END
  22. RESULT = 'no result'
  23.  
  24. /*-------------------------------------------------------------------*/
  25.  
  26. PARSE ARG frame
  27. IF DATATYPE(frame) ~= NUM THEN DO
  28.     RC  = 10
  29.     RC2 = "No frame selected"
  30.     SIGNAL ERROR
  31. END
  32. FRAMEINFO frame STEM myinfo
  33.  
  34. /*
  35.  *  There is not much point in making a falsecolour greyscale
  36.  */
  37.  
  38. IF myinfo.COLORSPACE = "Greyscale" THEN DO
  39.     EXIT 0
  40. END
  41.  
  42. /*
  43.  *  Ask user.
  44.  */
  45.  
  46. cyc.type=CYCLE
  47. cyc.label="Direction"
  48. cyc.labels="Red->Green->Blue|Blue->Green->Red"
  49.  
  50. PPT_TO_FRONT
  51. ASKREQ '"Please select the direction of the falsecolour effect"' cyc
  52. res = RESULT
  53.  
  54. /*
  55.  *  Work according to the user's wishes
  56.  */
  57.  
  58. IF res = 0 THEN DO
  59.     IF cyc.value = 0 THEN DO
  60.         PROCESS frame COLORMIX RED "0,0,1.0" GREEN "1.0,0,0" BLUE "0,1.0,0"
  61.     END
  62.     ELSE DO
  63.         PROCESS frame COLORMIX RED "0,1.0,0" GREEN "0,0,1.0" BLUE "1.0,0,0"
  64.     END
  65. END
  66.  
  67. EXIT 0
  68.  
  69. /*-------------------------------------------------------------------*/
  70. /* Again, keep this part intact. This is the error handler. */
  71. ERROR :
  72. returncode = RC
  73. IF startedfromcli = 1 THEN DO
  74.     SAY 'ERROR ' returncode ' on line ' SIGL ': ' RC2
  75.     PPT_TO_BACK
  76. END
  77. ELSE
  78.     SHOWERROR '"'RC2'"' SIGL
  79. EXIT returncode
  80.  
  81.  
  82.